
#pragma once

#include "base/core/singleton.h"
#include "Common/TableDefine.h"


class FunctionunlockFunctionUnlockCfg : public ManualSingleton <FunctionunlockFunctionUnlockCfg>
{
	friend ManualSingleton <FunctionunlockFunctionUnlockCfg>;
public:
	FunctionunlockFunctionUnlockCfg();
	~FunctionunlockFunctionUnlockCfg();
	bool Init(const char *szCfgFile, const char *szSplitChar);
	bool UnInit();
	void Clear();
	const FunctionunlockFunctionUnlockCfgInfo *GetFunctionunlockFunctionUnlockCfgInfo(int32_t functionId);
	const FunctionunlockFunctionUnlockCfgMap *GetFunctionunlockFunctionUnlockCfgMap() { return &m_FunctionunlockFunctionUnlockCfgMap; }
private:
	FunctionunlockFunctionUnlockCfgMap m_FunctionunlockFunctionUnlockCfgMap;
};

#define  g_MakeFunctionunlockFunctionUnlockCfgTable() (FunctionunlockFunctionUnlockCfg::Instance())
#define  g_GetFunctionunlockFunctionUnlockCfgTable() (FunctionunlockFunctionUnlockCfg::GetInstance())
#define  g_DelFunctionunlockFunctionUnlockCfgTable() (FunctionunlockFunctionUnlockCfg::Destroy())